home *** CD-ROM | disk | FTP | other *** search
/ SVM Mac 58 / CD-ROM N°58.iso / navigateurs / Netscape Folder / chrome / navigator / content / default / contentframe.js next >
Encoding:
JavaScript  |  2000-04-19  |  2.0 KB  |  76 lines  |  [TEXT/MOSS]

  1. // -*- Mode: Java -*-
  2.  
  3. var sidebar_name    = '';   // Name for preferences (e.g. 'sidebar.<name>.foo')
  4. var sidebar_uri     = '';   // Content to load in sidebar frame
  5. var sidebar_width   = 0;    // Desired width of sidebar
  6. var sidebar_pref    = '';   // Base for preferences (e.g. 'sidebar.browser')
  7. var is_sidebar_open = false; 
  8. var prefs           = null; // Handle to preference interface
  9.  
  10. function init_sidebar(name, uri, width) {
  11.   sidebar_name  = name;
  12.   sidebar_uri   = uri;
  13.   sidebar_width = width;
  14.   sidebar_pref  = 'sidebar.' + name;
  15.  
  16.   // Open/close sidebar based on saved pref.
  17.   // This may be replaced by another system by hyatt.
  18.   prefs = Components.classes['component://netscape/preferences'];
  19.   if (prefs) {
  20.     prefs = prefs.getService();
  21.   }
  22.   if (prefs) {
  23.     prefs = prefs.QueryInterface(Components.interfaces.nsIPref);
  24.   }
  25.   if (prefs) {
  26.     // The sidebar is closed by default, so open it only if the
  27.     //    preference is set to true.
  28.     try {
  29.         if (prefs.GetBoolPref(sidebar_pref + '.open')) {
  30.           toggle_open_close();
  31.         }
  32.     }
  33.     catch (ex) {
  34.     dump("failed to get sidebar_pref\n");
  35.     }
  36.   }
  37. }
  38.  
  39. function toggle_open_close() {
  40.  
  41.   var sidebar = document.getElementById('sidebarframe');
  42.   var grippy = document.getElementById('grippy');
  43.  
  44.   if (is_sidebar_open)
  45.   {
  46.     // Close it
  47.     sidebar.setAttribute('style','visibility: hidden; width: 1px');
  48.     sidebar.setAttribute('src','about:blank');
  49.  
  50.     grippy.setAttribute('open','');
  51.  
  52.     is_sidebar_open = false;
  53.   }
  54.   else
  55.   {
  56.     dump("Open it\n");
  57.    
  58.     sidebar.setAttribute('style', 'visibility: visible;width:' + sidebar_width + 'px');
  59.     sidebar.setAttribute('src',   sidebar_uri);
  60.  
  61.     grippy.setAttribute('open','true');
  62.  
  63.     is_sidebar_open = true;
  64.   }  
  65.  
  66.   try {
  67.       // Save new open/close state in prefs
  68.       if (prefs) {
  69.         prefs.SetBoolPref(sidebar_pref + '.open', is_sidebar_open);
  70.       }
  71.   }
  72.   catch (ex) {
  73.       dump("failed to set the sidebar pref\n");
  74.   }
  75. }
  76.